home *** CD-ROM | disk | FTP | other *** search
/ CD Fun House 1 / CD Fun House (Wayzata Technology).iso / •The School House• / Astromacronomer ••• / BASIC Runtime / BASIC Runtime.rsrc / CODE_26.txt < prev    next >
Text File  |  1986-09-30  |  32KB  |  602 lines

  1. # near model CODE resource
  2. # jump table entries: 4456-4456 (1 of them)
  3. export_557:
  4. 00000000  526D FE76                addq.w     [A5 - 0x18A], 1
  5. 00000004  2F08                     move.l     -[A7], A0
  6. 00000006  2B4F F1E8                move.l     [A5 - 0xE18], A7
  7. 0000000A  4E56 FFE2                link       A6, -0x001E
  8. 0000000E  48E7 C040                movem.l    -[A7], D0,D1,A1
  9. 00000012  1B7C 0001 F07F           move.b     [A5 - 0xF81], 0x1
  10. 00000018  C14B                     exg        A0, A3
  11. 0000001A  4EAD 00C2                jsr        [A5 + 0xC2 /* export_20 */]
  12. 0000001E  0C40 0026                cmpi.w     D0, 0x26 /* '&' */
  13. 00000022  660A                     bne        +0xC /* 0000002E */
  14. 00000024  4EAD 04A2                jsr        [A5 + 0x4A2 /* export_144 */]
  15. 00000028  C14B                     exg        A0, A3
  16. 0000002A  6000 00D8                bra        +0xDA /* 00000104 */
  17. label0000002E:
  18. 0000002E  C14B                     exg        A0, A3
  19. 00000030  0C00 0039                cmpi.b     D0, 0x39 /* '9' */
  20. 00000034  6222                     bhi        +0x24 /* 00000058 */
  21. 00000036  0C00 0030                cmpi.b     D0, 0x30 /* '0' */
  22. 0000003A  642E                     bcc        +0x30 /* 0000006A */
  23. 0000003C  0C00 002D                cmpi.b     D0, 0x2D /* '-' */
  24. 00000040  6728                     beq        +0x2A /* 0000006A */
  25. 00000042  0C00 002E                cmpi.b     D0, 0x2E /* '.' */
  26. 00000046  6722                     beq        +0x24 /* 0000006A */
  27. 00000048  0C00 002B                cmpi.b     D0, 0x2B /* '+' */
  28. 0000004C  671C                     beq        +0x1E /* 0000006A */
  29. 0000004E  0C00 002C                cmpi.b     D0, 0x2C /* ',' */
  30. 00000052  6716                     beq        +0x18 /* 0000006A */
  31. 00000054  4A00                     tst.b      D0
  32. 00000056  6712                     beq        +0x14 /* 0000006A */
  33. label00000058:
  34. 00000058  4A2D F081                tst.b      [A5 - 0xF7F]
  35. 0000005C  6708                     beq        +0xA /* 00000066 */
  36. 0000005E  522D F080                addq.b     [A5 - 0xF80], 1
  37. 00000062  6000 00A0                bra        +0xA2 /* 00000104 */
  38. label00000066:
  39. 00000066  4EED 0252                jmp        [A5 + 0x252 /* export_70 */]
  40. label0000006A:
  41. 0000006A  486E FFE2                pea.l      [A6 - 0x1E]
  42. 0000006E  42A7                     clr.l      -[A7]
  43. 00000070  42A7                     clr.l      -[A7]
  44. 00000072  2F3C 0000 0028           move.l     -[A7], 0x28 /* '(' */
  45. 00000078  2F0B                     move.l     -[A7], A3
  46. 0000007A  6100 00F8                bsr        +0xFA /* 00000174 */
  47. 0000007E  DEFC 0014                add.w      A7, 0x14
  48. 00000082  D6EE FFE4                add.w      A3, [A6 - 0x1C]
  49. 00000086  2B6E FFEA ECA6           move.l     [A5 - 0x135A], [A6 - 0x16]
  50. 0000008C  2B6E FFEE ECAA           move.l     [A5 - 0x1356], [A6 - 0x12]
  51. 00000092  1B7C 0008 ECFB           move.b     [A5 - 0x1305], 0x8
  52. 00000098  302E FFE2                move.w     D0, [A6 - 0x1E]
  53. 0000009C  7201                     moveq.l    D1, 0x01
  54. 0000009E  C240                     and.w      D1, D0
  55. 000000A0  6672                     bne        +0x74 /* 00000114 */
  56. 000000A2  323C 0080                move.w     D1, 0x80
  57. 000000A6  C240                     and.w      D1, D0
  58. 000000A8  66AE                     bne        -0x50 /* 00000058 */
  59. 000000AA  7208                     moveq.l    D1, 0x08
  60. 000000AC  C240                     and.w      D1, D0
  61. 000000AE  6630                     bne        +0x32 /* 000000E0 */
  62. 000000B0  7220                     moveq.l    D1, 0x20
  63. 000000B2  C240                     and.w      D1, D0
  64. 000000B4  6620                     bne        +0x22 /* 000000D6 */
  65. 000000B6  202E FFE6                move.l     D0, [A6 - 0x1A]
  66. 000000BA  223C 0000 7FFF           move.l     D1, 0x7FFF
  67. 000000C0  B081                     cmp.l      D0, D1
  68. 000000C2  6E12                     bgt        +0x14 /* 000000D6 */
  69. 000000C4  4681                     not.l      D1
  70. 000000C6  B081                     cmp.l      D0, D1
  71. 000000C8  6D0C                     blt        +0xE /* 000000D6 */
  72. 000000CA  3B40 ECA6                move.w     [A5 - 0x135A], D0
  73. 000000CE  1B7C 0002 ECFB           move.b     [A5 - 0x1305], 0x2
  74. 000000D4  600A                     bra        +0xC /* 000000E0 */
  75. label000000D6:
  76. 000000D6  0C13 0023                cmpi.b     [A3], 0x23 /* '#' */
  77. 000000DA  6704                     beq        +0x6 /* 000000E0 */
  78. 000000DC  4EAD 011A                jsr        [A5 + 0x11A /* export_31 */]
  79. label000000E0:
  80. 000000E0  0C13 0025                cmpi.b     [A3], 0x25 /* '%' */
  81. 000000E4  6712                     beq        +0x14 /* 000000F8 */
  82. 000000E6  0C13 0023                cmpi.b     [A3], 0x23 /* '#' */
  83. 000000EA  6712                     beq        +0x14 /* 000000FE */
  84. 000000EC  0C13 0021                cmpi.b     [A3], 0x21 /* '!' */
  85. 000000F0  6612                     bne        +0x14 /* 00000104 */
  86. 000000F2  4EAD 011A                jsr        [A5 + 0x11A /* export_31 */]
  87. 000000F6  600A                     bra        +0xC /* 00000102 */
  88. label000000F8:
  89. 000000F8  4EAD 0032                jsr        [A5 + 0x32 /* export_2 */]
  90. 000000FC  6004                     bra        +0x6 /* 00000102 */
  91. label000000FE:
  92. 000000FE  4EAD 01CA                jsr        [A5 + 0x1CA /* export_53 */]
  93. label00000102:
  94. 00000102  528B                     addq.l     A3, 1
  95. label00000104:
  96. 00000104  4CDF 0203                movem.l    D0,D1,A1, [A7]+
  97. 00000108  4E5E                     unlink     A6
  98. 0000010A  205F                     movea.l    A0, [A7]+
  99. 0000010C  610A                     bsr        +0xC /* 00000118 */
  100. 0000010E  536D FE76                subq.w     [A5 - 0x18A], 1
  101. 00000112  4E75                     rts
  102. label00000114:
  103. 00000114  4EED 01DA                jmp        [A5 + 0x1DA /* export_55 */]
  104. fn00000118:
  105. 00000118  0C2D 0002 F07F           cmpi.b     [A5 - 0xF81], 0x2
  106. 0000011E  6506                     bcs        +0x8 /* 00000126 */
  107. 00000120  062D 0001 F080           addi.b     [A5 - 0xF80], 0x1
  108. label00000126:
  109. 00000126  422D F07F                clr.b      [A5 - 0xF81]
  110. 0000012A  4E75                     rts
  111. label0000012C:
  112. 0000012C  0081 0030 0000           ori.l      D1, 0x300000 /* '0\0\0' */
  113. 00000132  08C1 0016                bset.b     D1, 0x16
  114. label00000136:
  115. 00000136  4845                     swap.w     D5
  116. 00000138  3A06                     move.w     D5, D6
  117. 0000013A  2C05                     move.l     D6, D5
  118. 0000013C  4287                     clr.l      D7
  119. 0000013E  6100 019E                bsr        +0x1A0 /* 000002DE */
  120. 00000142  4242                     clr.w      D2
  121. 00000144  6000 00B2                bra        +0xB4 /* 000001F8 */
  122. label00000148:
  123. 00000148  4285                     clr.l      D5
  124. 0000014A  4286                     clr.l      D6
  125. 0000014C  6100 0216                bsr        +0x218 /* 00000364 */
  126. 00000150  65DA                     bcs        -0x24 /* 0000012C */
  127. 00000152  2C00                     move.l     D6, D0
  128. label00000154:
  129. 00000154  6100 020E                bsr        +0x210 /* 00000364 */
  130. 00000158  65DC                     bcs        -0x22 /* 00000136 */
  131. 0000015A  CCC1                     mulu.w     D6, D1
  132. 0000015C  CAC1                     mulu.w     D5, D1
  133. 0000015E  DC80                     add.l      D6, D0
  134. 00000160  4846                     swap.w     D6
  135. 00000162  DA46                     add.w      D5, D6
  136. 00000164  65C6                     bcs        -0x38 /* 0000012C */
  137. 00000166  4845                     swap.w     D5
  138. 00000168  4A45                     tst.w      D5
  139. 0000016A  66C0                     bne        -0x3E /* 0000012C */
  140. 0000016C  4845                     swap.w     D5
  141. 0000016E  4246                     clr.w      D6
  142. 00000170  4846                     swap.w     D6
  143. 00000172  60E0                     bra        -0x1E /* 00000154 */
  144. fn00000174:
  145. 00000174  4E56 FFF2                link       A6, -0x000E
  146. 00000178  48E7 3F38                movem.l    -[A7], D2,D3,D4,D5,D6,D7,A2,A3,A4
  147. 0000017C  206E 0008                movea.l    A0, [A6 + 0x8]
  148. 00000180  202E 000C                move.l     D0, [A6 + 0xC]
  149. 00000184  222E 0014                move.l     D1, [A6 + 0x14]
  150. 00000188  2248                     movea.l    A1, A0
  151. 0000018A  D3C0                     add.l      A1, D0
  152. 0000018C  4283                     clr.l      D3
  153. 0000018E  6100 01BA                bsr        +0x1BC /* 0000034A */
  154. 00000192  6604                     bne        +0x6 /* 00000198 */
  155. 00000194  08C1 001F                bset.b     D1, 0x1F
  156. label00000198:
  157. 00000198  4A41                     tst.w      D1
  158. 0000019A  66AC                     bne        -0x52 /* 00000148 */
  159. 0000019C  6100 0112                bsr        +0x114 /* 000002B0 */
  160. 000001A0  4242                     clr.w      D2
  161. 000001A2  6100 022E                bsr        +0x230 /* 000003D2 */
  162. 000001A6  6750                     beq        +0x52 /* 000001F8 */
  163. 000001A8  5388                     subq.l     A0, 1
  164. 000001AA  0C00 0044                cmpi.b     D0, 0x44 /* 'D' */
  165. 000001AE  670E                     beq        +0x10 /* 000001BE */
  166. 000001B0  0C00 0045                cmpi.b     D0, 0x45 /* 'E' */
  167. 000001B4  6642                     bne        +0x44 /* 000001F8 */
  168. 000001B6  0081 0500 0000           ori.l      D1, 0x5000000
  169. 000001BC  6006                     bra        +0x8 /* 000001C4 */
  170. label000001BE:
  171. 000001BE  0081 010C 0000           ori.l      D1, 0x10C0000
  172. label000001C4:
  173. 000001C4  2D48 FFF2                move.l     [A6 - 0xE], A0
  174. 000001C8  5288                     addq.l     A0, 1
  175. 000001CA  6100 017E                bsr        +0x180 /* 0000034A */
  176. 000001CE  56C7                     sne        D7
  177. 000001D0  6100 00BA                bsr        +0xBC /* 0000028C */
  178. 000001D4  0801 0019                btst.b     D1, 0x19
  179. 000001D8  660E                     bne        +0x10 /* 000001E8 */
  180. 000001DA  206E FFF2                movea.l    A0, [A6 - 0xE]
  181. 000001DE  0281 FAFF FFFF           andi.l     D1, 0xFAFFFFFF
  182. 000001E4  08C1 0016                bset.b     D1, 0x16
  183. label000001E8:
  184. 000001E8  0801 0018                btst.b     D1, 0x18
  185. 000001EC  6704                     beq        +0x6 /* 000001F2 */
  186. 000001EE  08C1 0011                bset.b     D1, 0x11
  187. label000001F2:
  188. 000001F2  4A07                     tst.b      D7
  189. 000001F4  6602                     bne        +0x4 /* 000001F8 */
  190. 000001F6  4442                     neg.w      D2
  191. label000001F8:
  192. 000001F8  322E 0012                move.w     D1, [A6 + 0x12]
  193. 000001FC  660A                     bne        +0xC /* 00000208 */
  194. 000001FE  2C01                     move.l     D6, D1
  195. 00000200  0286 1802 0000           andi.l     D6, 0x18020000
  196. 00000206  6706                     beq        +0x8 /* 0000020E */
  197. label00000208:
  198. 00000208  0081 0030 0000           ori.l      D1, 0x300000 /* '0\0\0' */
  199. label0000020E:
  200. 0000020E  D441                     add.w      D2, D1
  201. 00000210  D443                     add.w      D2, D3
  202. 00000212  0C42 0190                cmpi.w     D2, 0x190
  203. 00000216  6E66                     bgt        +0x68 /* 0000027E */
  204. 00000218  0C42 FE70                cmpi.w     D2, 0xFE70
  205. 0000021C  6C04                     bge        +0x6 /* 00000222 */
  206. 0000021E  343C FE70                move.w     D2, 0xFE70
  207. label00000222:
  208. 00000222  6100 0396                bsr        +0x398 /* 000005BA */
  209. 00000226  286E 0018                movea.l    A4, [A6 + 0x18]
  210. 0000022A  47EC 0008                lea.l      A3, [A4 + 0x8]
  211. 0000022E  6100 01D6                bsr        +0x1D8 /* 00000406 */
  212. 00000232  664A                     bne        +0x4C /* 0000027E */
  213. 00000234  0801 001F                btst.b     D1, 0x1F
  214. 00000238  670E                     beq        +0x10 /* 00000248 */
  215. 0000023A  4485                     neg.l      D5
  216. 0000023C  3413                     move.w     D2, [A3]
  217. 0000023E  0242 7FF0                andi.w     D2, 0x7FF0
  218. 00000242  6704                     beq        +0x6 /* 00000248 */
  219. 00000244  0053 8000                ori.w      [A3], 0x8000
  220. label00000248:
  221. 00000248  0C83 0800 0000           cmpi.l     D3, 0x8000000
  222. 0000024E  6504                     bcs        +0x6 /* 00000254 */
  223. 00000250  08C1 0013                bset.b     D1, 0x13
  224. label00000254:
  225. 00000254  0C83 0100 0000           cmpi.l     D3, 0x1000000
  226. 0000025A  6404                     bcc        +0x6 /* 00000260 */
  227. 0000025C  08C1 0016                bset.b     D1, 0x16
  228. label00000260:
  229. 00000260  4841                     swap.w     D1
  230. 00000262  0241 00FF                andi.w     D1, 0xFF
  231. 00000266  3941 0000                move.w     [A4 + 0x0], D1
  232. 0000026A  91EE 0008                sub.l      A0, [A6 + 0x8]
  233. 0000026E  3948 0002                move.w     [A4 + 0x2], A0
  234. 00000272  2945 0004                move.l     [A4 + 0x4], D5
  235. 00000276  4CDF 1CFC                movem.l    D2,D3,D4,D5,D6,D7,A2,A3,A4, [A7]+
  236. 0000027A  4E5E                     unlink     A6
  237. 0000027C  4E75                     rts
  238. label0000027E:
  239. 0000027E  286E 0018                movea.l    A4, [A6 + 0x18]
  240. 00000282  08C1 0010                bset.b     D1, 0x10
  241. 00000286  60D8                     bra        -0x26 /* 00000260 */
  242. label00000288:
  243. 00000288  323C 7FFF                move.w     D1, 0x7FFF
  244. fn0000028C:
  245. 0000028C  323C 000A                move.w     D1, 0xA /* '\n' */
  246. label00000290:
  247. 00000290  4240                     clr.w      D0
  248. 00000292  6100 00D0                bsr        +0xD2 /* 00000364 */
  249. 00000296  6516                     bcs        +0x18 /* 000002AE */
  250. 00000298  0C42 0CCC                cmpi.w     D2, 0xCCC
  251. 0000029C  62EA                     bhi        -0x14 /* 00000288 */
  252. 0000029E  08C1 0019                bset.b     D1, 0x19
  253. 000002A2  E34A                     lsl        D2.w, 1
  254. 000002A4  D042                     add.w      D0, D2
  255. 000002A6  E54A                     lsl        D2.w, 2
  256. 000002A8  D440                     add.w      D2, D0
  257. 000002AA  6BDC                     bmi        -0x22 /* 00000288 */
  258. 000002AC  60E2                     bra        -0x1C /* 00000290 */
  259. label000002AE:
  260. 000002AE  4E75                     rts
  261. fn000002B0:
  262. 000002B0  4285                     clr.l      D5
  263. 000002B2  4286                     clr.l      D6
  264. 000002B4  4287                     clr.l      D7
  265. label000002B6:
  266. 000002B6  6100 00CC                bsr        +0xCE /* 00000384 */
  267. 000002BA  6522                     bcs        +0x24 /* 000002DE */
  268. 000002BC  6176                     bsr        +0x78 /* 00000334 */
  269. 000002BE  DC80                     add.l      D6, D0
  270. 000002C0  DF85                     addx.l     D7, D5
  271. 000002C2  0C87 1999 0000           cmpi.l     D7, 0x19990000
  272. 000002C8  65EC                     bcs        -0x12 /* 000002B6 */
  273. label000002CA:
  274. 000002CA  6100 00B8                bsr        +0xBA /* 00000384 */
  275. 000002CE  650E                     bcs        +0x10 /* 000002DE */
  276. 000002D0  4A00                     tst.b      D0
  277. 000002D2  6706                     beq        +0x8 /* 000002DA */
  278. 000002D4  0086 0000 0001           ori.l      D6, 0x1
  279. label000002DA:
  280. 000002DA  5243                     addq.w     D3, 1
  281. 000002DC  60EC                     bra        -0x12 /* 000002CA */
  282. fn000002DE:
  283. 000002DE  4A87                     tst.l      D7
  284. 000002E0  6618                     bne        +0x1A /* 000002FA */
  285. 000002E2  4A43                     tst.w      D3
  286. 000002E4  6614                     bne        +0x16 /* 000002FA */
  287. 000002E6  4A86                     tst.l      D6
  288. 000002E8  6A18                     bpl        +0x1A /* 00000302 */
  289. 000002EA  0801 001F                btst.b     D1, 0x1F
  290. 000002EE  670E                     beq        +0x10 /* 000002FE */
  291. 000002F0  0C86 8000 0000           cmpi.l     D6, 0x80000000
  292. 000002F6  6606                     bne        +0x8 /* 000002FE */
  293. 000002F8  6008                     bra        +0xA /* 00000302 */
  294. label000002FA:
  295. 000002FA  08C1 0014                bset.b     D1, 0x14
  296. label000002FE:
  297. 000002FE  08C1 0015                bset.b     D1, 0x15
  298. label00000302:
  299. 00000302  2A06                     move.l     D5, D6
  300. 00000304  2806                     move.l     D4, D6
  301. 00000306  8887                     or.l       D4, D7
  302. 00000308  671C                     beq        +0x1E /* 00000326 */
  303. label0000030A:
  304. 0000030A  0C87 1999 0000           cmpi.l     D7, 0x19990000
  305. 00000310  6406                     bcc        +0x8 /* 00000318 */
  306. 00000312  6120                     bsr        +0x22 /* 00000334 */
  307. 00000314  5343                     subq.w     D3, 1
  308. 00000316  60F2                     bra        -0xC /* 0000030A */
  309. label00000318:
  310. 00000318  7440                     moveq.l    D2, 0x40
  311. label0000031A:
  312. 0000031A  4A87                     tst.l      D7
  313. 0000031C  6B08                     bmi        +0xA /* 00000326 */
  314. 0000031E  5342                     subq.w     D2, 1
  315. 00000320  E38E                     lsl        D6, 1
  316. 00000322  E397                     roxl       D7, 1
  317. 00000324  60F4                     bra        -0xA /* 0000031A */
  318. label00000326:
  319. 00000326  3D42 FFF6                move.w     [A6 - 0xA], D2
  320. 0000032A  2D47 FFF8                move.l     [A6 - 0x8], D7
  321. 0000032E  2D46 FFFC                move.l     [A6 - 0x4], D6
  322. 00000332  4E75                     rts
  323. fn00000334:
  324. 00000334  2446                     movea.l    A2, D6
  325. 00000336  2807                     move.l     D4, D7
  326. 00000338  E38E                     lsl        D6, 1
  327. 0000033A  E397                     roxl       D7, 1
  328. 0000033C  E38E                     lsl        D6, 1
  329. 0000033E  E397                     roxl       D7, 1
  330. 00000340  DC8A                     add.l      D6, A2
  331. 00000342  DF84                     addx.l     D7, D4
  332. 00000344  E38E                     lsl        D6, 1
  333. 00000346  E397                     roxl       D7, 1
  334. 00000348  4E75                     rts
  335. fn0000034A:
  336. 0000034A  6100 0086                bsr        +0x88 /* 000003D2 */
  337. 0000034E  670C                     beq        +0xE /* 0000035C */
  338. 00000350  0C00 002D                cmpi.b     D0, 0x2D /* '-' */
  339. 00000354  670C                     beq        +0xE /* 00000362 */
  340. 00000356  0C00 002B                cmpi.b     D0, 0x2B /* '+' */
  341. 0000035A  6602                     bne        +0x4 /* 0000035E */
  342. label0000035C:
  343. 0000035C  5288                     addq.l     A0, 1
  344. label0000035E:
  345. 0000035E  5388                     subq.l     A0, 1
  346. 00000360  4A00                     tst.b      D0
  347. label00000362:
  348. 00000362  4E75                     rts
  349. fn00000364:
  350. 00000364  6100 006C                bsr        +0x6E /* 000003D2 */
  351. 00000368  6762                     beq        +0x64 /* 000003CC */
  352. 0000036A  0400 0030                subi.b     D0, 0x30 /* '0' */
  353. 0000036E  655A                     bcs        +0x5C /* 000003CA */
  354. 00000370  0C00 0009                cmpi.b     D0, 0x9 /* '\t' */
  355. 00000374  6F08                     ble        +0xA /* 0000037E */
  356. 00000376  0C00 0011                cmpi.b     D0, 0x11
  357. 0000037A  654E                     bcs        +0x50 /* 000003CA */
  358. 0000037C  5F00                     subq.b     D0, 7
  359. label0000037E:
  360. 0000037E  B001                     cmp.b      D0, D1
  361. 00000380  6448                     bcc        +0x4A /* 000003CA */
  362. 00000382  6022                     bra        +0x24 /* 000003A6 */
  363. fn00000384:
  364. 00000384  614C                     bsr        +0x4E /* 000003D2 */
  365. 00000386  6744                     beq        +0x46 /* 000003CC */
  366. 00000388  0C00 002E                cmpi.b     D0, 0x2E /* '.' */
  367. 0000038C  6728                     beq        +0x2A /* 000003B6 */
  368. 0000038E  0400 0030                subi.b     D0, 0x30 /* '0' */
  369. 00000392  6536                     bcs        +0x38 /* 000003CA */
  370. 00000394  0C00 0009                cmpi.b     D0, 0x9 /* '\t' */
  371. 00000398  6230                     bhi        +0x32 /* 000003CA */
  372. 0000039A  0801 001C                btst.b     D1, 0x1C
  373. 0000039E  6710                     beq        +0x12 /* 000003B0 */
  374. 000003A0  5343                     subq.w     D3, 1
  375. 000003A2  08C1 001B                bset.b     D1, 0x1B
  376. label000003A6:
  377. 000003A6  0683 0100 0000           addi.l     D3, 0x1000000
  378. 000003AC  4244                     clr.w      D4
  379. 000003AE  4E75                     rts
  380. label000003B0:
  381. 000003B0  08C1 001D                bset.b     D1, 0x1D
  382. 000003B4  60F0                     bra        -0xE /* 000003A6 */
  383. label000003B6:
  384. 000003B6  0801 001C                btst.b     D1, 0x1C
  385. 000003BA  660E                     bne        +0x10 /* 000003CA */
  386. 000003BC  0683 0001 0000           addi.l     D3, 0x10000
  387. 000003C2  0081 1002 0000           ori.l      D1, 0x10020000
  388. 000003C8  60BA                     bra        -0x44 /* 00000384 */
  389. label000003CA:
  390. 000003CA  5388                     subq.l     A0, 1
  391. label000003CC:
  392. 000003CC  44FC 0001 4E75           move.b     0x14E75, CCR
  393. fn000003D2:
  394. 000003D2  B3C8                     cmpa.l     A1, A0
  395. 000003D4  632C                     bls        +0x2E /* 00000402 */
  396. 000003D6  1018                     move.b     D0, [A0]+
  397. 000003D8  0C00 0020                cmpi.b     D0, 0x20 /* ' ' */
  398. 000003DC  67F4                     beq        -0xA /* 000003D2 */
  399. 000003DE  0C00 0009                cmpi.b     D0, 0x9 /* '\t' */
  400. 000003E2  67EE                     beq        -0x10 /* 000003D2 */
  401. 000003E4  0C00 000A                cmpi.b     D0, 0xA /* '\n' */
  402. 000003E8  67E8                     beq        -0x16 /* 000003D2 */
  403. 000003EA  0C00 000D                cmpi.b     D0, 0xD /* '\r' */
  404. 000003EE  67E2                     beq        -0x1C /* 000003D2 */
  405. 000003F0  0C00 0061                cmpi.b     D0, 0x61 /* 'a' */
  406. 000003F4  650A                     bcs        +0xC /* 00000400 */
  407. 000003F6  0C00 007A                cmpi.b     D0, 0x7A /* 'z' */
  408. 000003FA  6204                     bhi        +0x6 /* 00000400 */
  409. 000003FC  0200 005F                andi.b     D0, 0x5F /* '_' */
  410. label00000400:
  411. 00000400  4E75                     rts
  412. label00000402:
  413. 00000402  4200                     clr.b      D0
  414. 00000404  4E75                     rts
  415. fn00000406:
  416. 00000406  4280                     clr.l      D0
  417. 00000408  2E2E FFF8                move.l     D7, [A6 - 0x8]
  418. 0000040C  2C2E FFFC                move.l     D6, [A6 - 0x4]
  419. 00000410  2406                     move.l     D2, D6
  420. 00000412  8487                     or.l       D2, D7
  421. 00000414  6744                     beq        +0x46 /* 0000045A */
  422. 00000416  342E FFF6                move.w     D2, [A6 - 0xA]
  423. 0000041A  0642 03FE                addi.w     D2, 0x3FE
  424. 0000041E  6B3A                     bmi        +0x3C /* 0000045A */
  425. 00000420  E38E                     lsl        D6, 1
  426. 00000422  E397                     roxl       D7, 1
  427. 00000424  2806                     move.l     D4, D6
  428. 00000426  0284 0000 1000           andi.l     D4, 0x1000
  429. 0000042C  E48C                     lsr        D4, 2
  430. 0000042E  8C84                     or.l       D6, D4
  431. 00000430  0686 0000 07FE           addi.l     D6, 0x7FE
  432. 00000436  DF80                     addx.l     D7, D0
  433. 00000438  D540                     addx.w     D2, D0
  434. 0000043A  671E                     beq        +0x20 /* 0000045A */
  435. 0000043C  383C 000B                move.w     D4, 0xB
  436. label00000440:
  437. 00000440  E242                     asr        D2.w, 1
  438. 00000442  E297                     roxr       D7, 1
  439. 00000444  E296                     roxr       D6, 1
  440. 00000446  51CC FFF8                dbf        D4, -0xA /* 00000440 */
  441. 0000044A  2407                     move.l     D2, D7
  442. 0000044C  0682 0010 0000           addi.l     D2, 0x100000
  443. 00000452  0282 8000 0000           andi.l     D2, 0x80000000
  444. 00000458  6006                     bra        +0x8 /* 00000460 */
  445. label0000045A:
  446. 0000045A  4282                     clr.l      D2
  447. 0000045C  4287                     clr.l      D7
  448. 0000045E  4286                     clr.l      D6
  449. label00000460:
  450. 00000460  2687                     move.l     [A3], D7
  451. 00000462  2746 0004                move.l     [A3 + 0x4], D6
  452. 00000466  8482                     or.l       D2, D2
  453. 00000468  4E75                     rts
  454. fn0000046A:
  455. 0000046A  4E55 FFF0                link       A5, -0x0010
  456. 0000046E  244D                     movea.l    A2, A5
  457. 00000470  42A2                     clr.l      -[A2]
  458. 00000472  42A2                     clr.l      -[A2]
  459. 00000474  42A2                     clr.l      -[A2]
  460. 00000476  42A2                     clr.l      -[A2]
  461. 00000478  342E FFF6                move.w     D2, [A6 - 0xA]
  462. 0000047C  D453                     add.w      D2, [A3]
  463. 0000047E  7806                     moveq.l    D4, 0x06
  464. 00000480  598D                     subq.l     A5, 4
  465. label00000482:
  466. 00000482  2C04                     move.l     D6, D4
  467. 00000484  5786                     subq.l     D6, 3
  468. 00000486  6B02                     bmi        +0x4 /* 0000048A */
  469. 00000488  4486                     neg.l      D6
  470. label0000048A:
  471. 0000048A  5686                     addq.l     D6, 3
  472. 0000048C  45EB 0004                lea.l      A2, [A3 + 0x4]
  473. 00000490  49EE FFF8                lea.l      A4, [A6 - 0x8]
  474. 00000494  D5C4                     add.l      A2, D4
  475. 00000496  D5C6                     add.l      A2, D6
  476. 00000498  D9C4                     add.l      A4, D4
  477. 0000049A  99C6                     sub.l      A4, D6
  478. label0000049C:
  479. 0000049C  3E1C                     move.w     D7, [A4]+
  480. 0000049E  CEE2                     mulu.w     D7, -[A2]
  481. 000004A0  DF95                     add.l      [A5], D7
  482. 000004A2  6406                     bcc        +0x8 /* 000004AA */
  483. 000004A4  066D 0001 FFFE           addi.w     [A5 - 0x2], 0x1
  484. label000004AA:
  485. 000004AA  51CE FFF0                dbf        D6, -0x12 /* 0000049C */
  486. 000004AE  558D                     subq.l     A5, 2
  487. 000004B0  51CC FFD0                dbf        D4, -0x32 /* 00000482 */
  488. 000004B4  DBFC 0000 0012           add.l      A5, 0x12
  489. 000004BA  3C2D FFFE                move.w     D6, [A5 - 0x2]
  490. 000004BE  8C6D FFFC                or.w       D6, [A5 - 0x4]
  491. 000004C2  282D FFF8                move.l     D4, [A5 - 0x8]
  492. 000004C6  8846                     or.w       D4, D6
  493. 000004C8  2C2D FFF4                move.l     D6, [A5 - 0xC]
  494. 000004CC  2E2D FFF0                move.l     D7, [A5 - 0x10]
  495. 000004D0  6B08                     bmi        +0xA /* 000004DA */
  496. 000004D2  5342                     subq.w     D2, 1
  497. 000004D4  E38C                     lsl        D4, 1
  498. 000004D6  E396                     roxl       D6, 1
  499. 000004D8  E397                     roxl       D7, 1
  500. label000004DA:
  501. 000004DA  0C84 8000 0000           cmpi.l     D4, 0x80000000
  502. 000004E0  6514                     bcs        +0x16 /* 000004F6 */
  503. 000004E2  0806 0000                btst.b     D6, 0x0
  504. 000004E6  670E                     beq        +0x10 /* 000004F6 */
  505. 000004E8  4280                     clr.l      D0
  506. 000004EA  5286                     addq.l     D6, 1
  507. 000004EC  DF80                     addx.l     D7, D0
  508. 000004EE  6406                     bcc        +0x8 /* 000004F6 */
  509. 000004F0  5242                     addq.w     D2, 1
  510. 000004F2  08C7 001F                bset.b     D7, 0x1F
  511. label000004F6:
  512. 000004F6  3D42 FFF6                move.w     [A6 - 0xA], D2
  513. 000004FA  2D47 FFF8                move.l     [A6 - 0x8], D7
  514. 000004FE  2D46 FFFC                move.l     [A6 - 0x4], D6
  515. 00000502  4E5D                     unlink     A5
  516. 00000504  4E75                     rts
  517. 00000506  0004 A000                ori.b      D4, 0x0
  518. 0000050A  0000 0000                ori.b      D0, 0x0
  519. 0000050E  0000 0007                ori.b      D0, 0x7
  520. 00000512  C800                     and.b      D4, D0
  521. 00000514  0000 0000                ori.b      D0, 0x0
  522. 00000518  0000 000E                ori.b      D0, 0xE
  523. 0000051C  9C40                     sub.w      D6, D0
  524. 0000051E  0000 0000                ori.b      D0, 0x0
  525. 00000522  0000 001B                ori.b      D0, 0x1B
  526. 00000526  BEBC 2000 0000           cmp.l      D7, 0x20000000 /* ' \0\0\0' */
  527. 0000052C  0000 0036                ori.b      D0, 0x36 /* '6' */
  528. 00000530  8E1B                     or.b       D7, [A3]+
  529. 00000532  C9BF                     and.l      <<invalid special address>>, D4
  530. 00000534  0400 0000                subi.b     D0, 0x0
  531. 00000538  006B 9DC5 ADA8           ori.w      [A3 - 0x5258], 0x9DC5
  532. 0000053E  2B70 B59E 00D5 C278      move.l     [A5 - 0x3D88], [[] + A3 * 4 + 0xD5]
  533. 00000546  1F49 FFCF                move.b     [A7 - 0x31], A1
  534. 0000054A  A6D5                     syscall    vRelNode, flags=6
  535. 0000054C  01AA 93BA                bclr       [A2 - 0x6C46], D0
  536. 00000550  47C9                     lea.l      A3, A1
  537. 00000552  80E9 8CE0                divu.w     D0, [A1 - 0x7320]
  538. 00000556  0353                     bchg       [A3], D1
  539. 00000558  AA7E                     syscall    0xA7E
  540. 0000055A  EBFB 9DF9 DE8E           bfexts     D1, [PC + A5 * 8 - 0x114] {D7:D1}
  541. 00000560  FFFD                     .invalid   <<F/7/7>>
  542. 00000562  CCCC                     mulu.w     D6, A4
  543. 00000564  CCCC                     mulu.w     D6, A4
  544. 00000566  CCCC                     mulu.w     D6, A4
  545. 00000568  CCCD                     mulu.w     D6, A5
  546. 0000056A  FFFA                     .invalid   <<F/7/7>>
  547. 0000056C  A3D7                     syscall    vFreeNode, flags=3
  548. 0000056E  0A3D 70A3                xori.b     <<invalid special address>>, 0xA3
  549. 00000572  D70A                     addx.b     -[A3], -[A2]
  550. 00000574  FFF3                     .invalid   <<F/7/7>>
  551. 00000576  D1B7 1758                add.l      [A7], D0
  552. 0000057A  E219                     ror        D1.b, 1
  553. 0000057C  652C                     bcs        +0x2E /* 000005AA */
  554. 0000057E  FFE6                     .invalid   <<F/7/7>>
  555. 00000580  ABCC                     syscall    PBBlockMove
  556. 00000582  7711                     moveq.l    D3, 0x11
  557. 00000584  8461                     or.w       D2, -[A1]
  558. 00000586  CEFD                     mulu.w     D7, <<invalid special address>>
  559. 00000588  FFCB                     .invalid   <<F/7/7>>
  560. 0000058A  E695                     roxr       D5, 3
  561. 0000058C  94BE                     sub.l      D2, <<invalid special address>>
  562. 0000058E  C44D                     and.w      D2, A5
  563. 00000590  E15B                     rol        D3.w, 8
  564. 00000592  FF96                     .invalid   <<F/6/7>>
  565. 00000594  CFB1 1EAD                and.l      [A1 + D1 * 8 - 0x83], D7
  566. 00000598  4539 94BA FF2C           .invalid   2, [0x94BAFF2C] // invalid opcode 4 with b == 4
  567. 0000059E  A87F                     syscall    SubPt
  568. 000005A0  EA27                     asr        D7.b, D5
  569. 000005A2  A539                     syscall    ReadDateTime, flags=5
  570. 000005A4  E9A5                     asl        D5, D4
  571. 000005A6  FE57 DDD0                .extension 0xE57 <<F/1/7>>, 0xDDD0 // unimplemented
  572. label000005AA:
  573. 000005AA  467C 64BC E4A1           not.w      0x64BCE4A1
  574. 000005B0  FCAE C031                .extension 0xCAE <<F/2-3/6>> // unimplemented
  575. 000005B4  4325                     .invalid   1, -[A5] // invalid opcode 4 with b == 4
  576. 000005B6  637A                     bls        +0x7C /* 00000632 */
  577. 000005B8  193A 47FA                move.b     -[A4], [PC + 0x47FA /* 00004DB4, cstring ""<EOF> */]
  578. // begin alternate branch 000005BA-000005BE
  579. fn000005BA:
  580. 000005BA  47FA FF4A                lea.l      A3, [PC - 0xB6 /* 00000506, value 0x4A000, cstring "" */]
  581. // end alternate branch 000005BA-000005BE
  582. fn000005BA: // (misaligned)
  583. 000005BC  FF4A                     .extension 0xF4A <<F/4-5/7>> // unimplemented
  584. 000005BE  4A42                     tst.w      D2
  585. 000005C0  6A06                     bpl        +0x8 /* 000005C8 */
  586. 000005C2  47FA FF9C                lea.l      A3, [PC - 0x64 /* 00000560, value 0xFFFDCCCC */]
  587. 000005C6  4442                     neg.w      D2
  588. label000005C8:
  589. 000005C8  97FC 0000 000A           sub.l      A3, 0xA /* '\n' */
  590. label000005CE:
  591. 000005CE  D7FC 0000 000A           add.l      A3, 0xA /* '\n' */
  592. 000005D4  4A42                     tst.w      D2
  593. 000005D6  670E                     beq        +0x10 /* 000005E6 */
  594. 000005D8  E24A                     lsr        D2.w, 1
  595. 000005DA  64F2                     bcc        -0xC /* 000005CE */
  596. 000005DC  3F02                     move.w     -[A7], D2
  597. 000005DE  6100 FE8A                bsr        -0x174 /* 0000046A */
  598. 000005E2  341F                     move.w     D2, [A7]+
  599. 000005E4  60E8                     bra        -0x16 /* 000005CE */
  600. label000005E6:
  601. 000005E6  4E75                     rts
  602.